// Handle booking via AJAX
add_action('wp_ajax_rbm_book_table', 'rbm_handle_booking');
add_action('wp_ajax_nopriv_rbm_book_table', 'rbm_handle_booking');
function rbm_handle_booking() {
$date = sanitize_text_field($_POST['booking-date']);
$time = sanitize_text_field($_POST['booking-time']);
$party_size = intval($_POST['party-size']);
// Check availability and book (logic to be added)
$response = [
'success' => true,
'message' => 'Booking successful!',
];
wp_send_json($response);
}
// Enqueue custom styles and scripts
add_action('wp_enqueue_scripts', 'rbm_enqueue_frontend_assets');
add_action('admin_enqueue_scripts', 'rbm_enqueue_admin_assets');
function rbm_enqueue_frontend_assets() {
wp_enqueue_style(
'rbm-booking-styles',
plugin_dir_url(__FILE__) . 'assets/css/booking-styles.css'
);
wp_enqueue_script(
'rbm-booking-scripts',
plugin_dir_url(__FILE__) . 'assets/js/booking-scripts.js',
['jquery'], // Dependency on jQuery
null,
true
);
wp_localize_script('rbm-booking-scripts', 'ajax_url', admin_url('admin-ajax.php'));
}
function rbm_enqueue_admin_assets() {
wp_enqueue_style(
'rbm-admin-styles',
plugin_dir_url(__FILE__) . 'assets/css/booking-styles.css'
);
}{"code":"rest_no_route","message":"No route was found matching the URL and request method.","data":{"status":404}}